C语言 对二维数组{{23,2,3,4},{21,34,23,22},{5,3,55,66}}进行排序。

来源:百度知道 编辑:UC知道 时间:2024/06/02 17:27:22
从小到大进行排序

利用的是气泡法的双向排序,希望能最你有所帮助
#include <stdio.h>
void sort(int (*f)[13],int n,int num);
main(){
int i,k;
int b[][13] = {{43,-29,55,278,252,163,471,598,273,155,-66,1400,470},{543,-459,55,4578,452,663,871,598,473,655,-646,800,470},{3,-9,5,78,52,63,71,98,73,55,-67,1000,70}};
sort(b,13,3);
for(k=0;k<3;k++,printf("\n"))
for(i=0;i<13;i++)
printf("%d ",*(*(b+k)+i));
}
void sort(int (*f)[13],int n,int num)
{ int i,t,j,k,m;
for(m=0;m<num;m++,f++)
for(j=1,k=n-1;j<k;j++,k--){
for(i=j;i<=n-j;i++)
if(*(*f+n-i-1)>*(*f+n-i))
{
t = *(*f+n-i-1);
*(*f+n-i-1) = *(*f+n-i);
*(*f+n-i) = t;
}
for(i=n-j;i>=j+1;i--)
if(*(*f+n-i+1)<*(*f+n-i))
{
t = *(*f+n-i+1);
*(*f+n-i+1) = *(*f+n-i);
*(*f+n-i) = t;
}<